package org.jeecgframework.web.system.pojo.base;

import java.math.BigDecimal;
import java.util.Date;
import java.lang.String;
import java.lang.Double;
import java.lang.Integer;
import java.math.BigDecimal;
import javax.persistence.*;
import javax.xml.soap.Text;
import java.sql.Blob;

import org.codehaus.jackson.annotate.JsonIgnore;
import org.hibernate.annotations.GenericGenerator;
import org.jeecgframework.poi.excel.annotation.Excel;

/**   
 * @Title: Entity
 * @Description: 服务单派单信息表
 * @author onlineGenerator
 * @date 2018-01-02 13:24:32
 * @version V1.0    assign_type_eg
 *
 */
@Entity
@Table(name = "CBS_SERVICE_ASSIGN_LIST", schema = "")
@SuppressWarnings("serial")
public class CbsServiceAssignListEntity implements java.io.Serializable {
	/**主键*/
	private String id;
	/**服务单ID*/
	@Excel(name="服务单ID")
	private CbsServiceEntity serviceId;
	/**指派类型*/
	@Excel(name="指派类型")
	private Integer assignType;
	/**服务商ID*/
	@Excel(name="服务商ID")
	private String serviceProviderId;
	/**内部派单接收人ID*/
	@Excel(name="内部派单接收人ID")
	private TSUser turnUserId;

	/**派单要求*/
	@Excel(name="派单要求")
	private String assignDes;
	/**被指派人员ID*/
	@Excel(name="被指派人员ID")
	private String assignTouser;
	/**被指派人员角色*/
	@Excel(name="被指派人员角色")
	private Integer assignTorole;
	/**被指派的相关角色ID*/
	@Excel(name="被指派的相关角色ID")
	private String assignToroleId;
	/**是否是当前活动用户*/
	@Excel(name="是否是当前活动用户")
	private Integer activity;
	/**状态*/
	@Excel(name="状态")
	private Integer status;
	/**操作处理描述*/
	@Excel(name="操作处理描述")
	private String operationDes;
	/**备注*/
	@Excel(name="备注")
	private String memo;
	/**创建人名称*/
	private String createName;
	/**创建人登录名称*/
	private String createBy;
	/**创建日期*/
	private Date createDate;
	/**更新人名称*/
	private String updateName;
	/**更新人登录名称*/
	private String updateBy;
	/**更新日期*/
	private Date updateDate;


	/**
	 * 判断区域工程师是否将单子派给了自己   1:派给了自己
	 */
	private Integer assignTypeEg;


	@Column(name ="assign_type_eg")
	public Integer getAssignTypeEg() {
		return assignTypeEg;
	}

	public void setAssignTypeEg(Integer assignTypeEg) {
		this.assignTypeEg = assignTypeEg;
	}

	/**
	 *方法: 取得java.lang.String
	 *@return: java.lang.String  主键
	 */
	@Id
	@GeneratedValue(generator = "paymentableGenerator")
	@GenericGenerator(name = "paymentableGenerator", strategy = "uuid")
	@Column(name ="ID",nullable=false,length=36)
	public String getId(){
		return this.id;
	}

	/**
	 *方法: 设置java.lang.String
	 *@param: java.lang.String  主键
	 */
	public void setId(String id){
		this.id = id;
	}
	/**
	 *方法: 取得java.lang.String
	 *@return: java.lang.String  服务单ID
	 */
//	@Column(name ="SERVICE_ID",nullable=true,length=36)
	@JsonIgnore
	@ManyToOne(fetch = FetchType.EAGER)
	@JoinColumn(name = "SERVICE_ID", nullable = true)
	public CbsServiceEntity getServiceId(){
		return this.serviceId;
	}

	/**
	 *方法: 设置java.lang.String
	 *@param: java.lang.String  服务单ID
	 */
	public void setServiceId(CbsServiceEntity serviceId){
		this.serviceId = serviceId;
	}
	/**
	 *方法: 取得java.lang.Integer
	 *@return: java.lang.Integer  指派类型
	 */
	@Column(name ="ASSIGN_TYPE",nullable=true,length=1)
	public Integer getAssignType(){
		return this.assignType;
	}

	/**
	 *方法: 设置java.lang.Integer
	 *@param: java.lang.Integer  指派类型
	 */
	public void setAssignType(Integer assignType){
		this.assignType = assignType;
	}
	/**
	 *方法: 取得java.lang.String
	 *@return: java.lang.String  服务商ID
	 */
	@Column(name ="SERVICE_PROVIDER_ID",nullable=true,length=36)
	public String getServiceProviderId(){
		return this.serviceProviderId;
	}

	/**
	 *方法: 设置java.lang.String
	 *@param: java.lang.String  服务商ID
	 */
	public void setServiceProviderId(String serviceProviderId){
		this.serviceProviderId = serviceProviderId;
	}
	/**
	 *方法: 取得java.lang.String
	 *@return: java.lang.String  内部派单接收人ID
	 */
//	@Column(name ="TURN_USER_ID",nullable=true,length=36)
	@JsonIgnore
	@ManyToOne(fetch = FetchType.LAZY)
	@JoinColumn(name = "TURN_USER_ID")
	public TSUser getTurnUserId(){
		return this.turnUserId;
	}

	/**
	 *方法: 设置java.lang.String
	 *@param: java.lang.String  内部派单接收人ID
	 */
	public void setTurnUserId(TSUser turnUserId){
		this.turnUserId = turnUserId;
	}

	/**
	 *方法: 取得java.lang.String
	 *@return: java.lang.String  派单要求
	 */
	@Column(name ="ASSIGN_DES",nullable=true,length=300)
	public String getAssignDes(){
		return this.assignDes;
	}

	/**
	 *方法: 设置java.lang.String
	 *@param: java.lang.String  派单要求
	 */
	public void setAssignDes(String assignDes){
		this.assignDes = assignDes;
	}
	/**
	 *方法: 取得java.lang.String
	 *@return: java.lang.String  被指派人员ID
	 */
	@Column(name ="ASSIGN_TOUSER",nullable=true,length=36)
	public String getAssignTouser(){
		return this.assignTouser;
	}

	/**
	 *方法: 设置java.lang.String
	 *@param: java.lang.String  被指派人员ID
	 */
	public void setAssignTouser(String assignTouser){
		this.assignTouser = assignTouser;
	}
	/**
	 *方法: 取得java.lang.Integer
	 *@return: java.lang.Integer  被指派人员角色
	 */
	@Column(name ="ASSIGN_TOROLE",nullable=true,length=1)
	public Integer getAssignTorole(){
		return this.assignTorole;
	}

	/**
	 *方法: 设置java.lang.Integer
	 *@param: java.lang.Integer  被指派人员角色
	 */
	public void setAssignTorole(Integer assignTorole){
		this.assignTorole = assignTorole;
	}
	/**
	 *方法: 取得java.lang.String
	 *@return: java.lang.String  被指派的相关角色ID
	 */
	@Column(name ="ASSIGN_TOROLE_ID",nullable=true,length=36)
	public String getAssignToroleId(){
		return this.assignToroleId;
	}

	/**
	 *方法: 设置java.lang.String
	 *@param: java.lang.String  被指派的相关角色ID
	 */
	public void setAssignToroleId(String assignToroleId){
		this.assignToroleId = assignToroleId;
	}
	/**
	 *方法: 取得java.lang.Integer
	 *@return: java.lang.Integer  是否是当前活动用户
	 */
	@Column(name ="ACTIVITY",nullable=true,length=1)
	public Integer getActivity(){
		return this.activity;
	}

	/**
	 *方法: 设置java.lang.Integer
	 *@param: java.lang.Integer  是否是当前活动用户
	 */
	public void setActivity(Integer activity){
		this.activity = activity;
	}
	/**
	 *方法: 取得java.lang.Integer
	 *@return: java.lang.Integer  状态
	 */
	@Column(name ="STATUS",nullable=true,length=1)
	public Integer getStatus(){
		return this.status;
	}

	/**
	 *方法: 设置java.lang.Integer
	 *@param: java.lang.Integer  状态
	 */
	public void setStatus(Integer status){
		this.status = status;
	}
	/**
	 *方法: 取得java.lang.String
	 *@return: java.lang.String  操作处理描述
	 */
	@Column(name ="OPERATION_DES",nullable=true,length=200)
	public String getOperationDes(){
		return this.operationDes;
	}

	/**
	 *方法: 设置java.lang.String
	 *@param: java.lang.String  操作处理描述
	 */
	public void setOperationDes(String operationDes){
		this.operationDes = operationDes;
	}
	/**
	 *方法: 取得java.lang.String
	 *@return: java.lang.String  备注
	 */
	@Column(name ="MEMO",nullable=true,length=32)
	public String getMemo(){
		return this.memo;
	}

	/**
	 *方法: 设置java.lang.String
	 *@param: java.lang.String  备注
	 */
	public void setMemo(String memo){
		this.memo = memo;
	}
	/**
	 *方法: 取得java.lang.String
	 *@return: java.lang.String  创建人名称
	 */
	@Column(name ="CREATE_NAME",nullable=true,length=50)
	public String getCreateName(){
		return this.createName;
	}

	/**
	 *方法: 设置java.lang.String
	 *@param: java.lang.String  创建人名称
	 */
	public void setCreateName(String createName){
		this.createName = createName;
	}
	/**
	 *方法: 取得java.lang.String
	 *@return: java.lang.String  创建人登录名称
	 */
	@Column(name ="CREATE_BY",nullable=true,length=50)
	public String getCreateBy(){
		return this.createBy;
	}

	/**
	 *方法: 设置java.lang.String
	 *@param: java.lang.String  创建人登录名称
	 */
	public void setCreateBy(String createBy){
		this.createBy = createBy;
	}
	/**
	 *方法: 取得java.util.Date
	 *@return: java.util.Date  创建日期
	 */
	@Column(name ="CREATE_DATE",nullable=true,length=20)
	public Date getCreateDate(){
		return this.createDate;
	}

	/**
	 *方法: 设置java.util.Date
	 *@param: java.util.Date  创建日期
	 */
	public void setCreateDate(Date createDate){
		this.createDate = createDate;
	}
	/**
	 *方法: 取得java.lang.String
	 *@return: java.lang.String  更新人名称
	 */
	@Column(name ="UPDATE_NAME",nullable=true,length=50)
	public String getUpdateName(){
		return this.updateName;
	}

	/**
	 *方法: 设置java.lang.String
	 *@param: java.lang.String  更新人名称
	 */
	public void setUpdateName(String updateName){
		this.updateName = updateName;
	}
	/**
	 *方法: 取得java.lang.String
	 *@return: java.lang.String  更新人登录名称
	 */
	@Column(name ="UPDATE_BY",nullable=true,length=50)
	public String getUpdateBy(){
		return this.updateBy;
	}

	/**
	 *方法: 设置java.lang.String
	 *@param: java.lang.String  更新人登录名称
	 */
	public void setUpdateBy(String updateBy){
		this.updateBy = updateBy;
	}
	/**
	 *方法: 取得java.util.Date
	 *@return: java.util.Date  更新日期
	 */
	@Column(name ="UPDATE_DATE",nullable=true,length=20)
	public Date getUpdateDate(){
		return this.updateDate;
	}

	/**
	 *方法: 设置java.util.Date
	 *@param: java.util.Date  更新日期
	 */
	public void setUpdateDate(Date updateDate){
		this.updateDate = updateDate;
	}
}
